home *** CD-ROM | disk | FTP | other *** search
- property pMySprite, pMyMember, pMyMember2, pMyMember3
- global gSize, gCast, myCurrentImage, myCurrentPreview
-
- on beginSprite me
- pMySprite = sprite(me.spriteNum)
- pMyMember = pMySprite.memberNum
- pMyMember2 = pMyMember - 1
- pMyMember3 = pMyMember + 1
- end
-
- on mouseEnter me
- set the memberNum of sprite pMySprite to pMyMember3
- case the currentSpriteNum of
- "62":
- put "Click to invert the current pattern." into field "status"
- "63":
- put "Click to create a random pattern." into field "status"
- end case
- end
-
- on mouseLeave me
- set the memberNum of sprite pMySprite to pMyMember
- put EMPTY into field "status"
- end
-
- on mouseDown me
- repeat while the mouseDown
- set the memberNum of sprite pMySprite to pMyMember2
- updateStage()
- end repeat
- end
-
- on mouseUp me
- set the memberNum of sprite pMySprite to pMyMember3
- case the currentSpriteNum of
- "62":
- oneBitInvert()
- "63":
- oneBitRandomize()
- end case
- end
-
- on oneBitRandomize
- cursor(4)
- if sprite(1).pUndoTrigger = 0 then
- sprite(1).pUndoTrigger = 1
- end if
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = duplicate(member("8x8").image)
- myCurrentPreview = duplicate(member("preview", gCast).image)
- X = 0
- Y = 0
- repeat while Y < 9
- repeat while X < 9
- randomPatternNum = random(1, 2)
- if randomPatternNum = 1 then
- myCurrentImage.setPixel(X, Y, paletteIndex(255))
- else
- myCurrentImage.setPixel(X, Y, paletteIndex(0))
- end if
- X = X + 1
- end repeat
- X = 0
- Y = Y + 1
- end repeat
- member("8x8").image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- fnUpdatePreview()
- sprite(35).pState = 0
- sendSprite(35, #setMember)
- member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = VOID
- myCurrentPreview = VOID
- cursor(0)
- end
-
- on oneBitInvert
- cursor(4)
- if sprite(1).pUndoTrigger = 0 then
- sprite(1).pUndoTrigger = 1
- end if
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = duplicate(member("8x8").image)
- myCurrentPreview = duplicate(member("preview", gCast).image)
- X = 0
- Y = 0
- repeat while Y < 9
- repeat while X < 9
- if myCurrentImage.getPixel(X, Y) = paletteIndex(255) then
- myCurrentImage.setPixel(X, Y, paletteIndex(0))
- else
- if myCurrentImage.getPixel(X, Y) = paletteIndex(0) then
- myCurrentImage.setPixel(X, Y, paletteIndex(255))
- end if
- end if
- X = X + 1
- end repeat
- X = 0
- Y = Y + 1
- end repeat
- member("8x8").image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- fnUpdatePreview()
- sprite(35).pState = 0
- sendSprite(35, #setMember)
- member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = VOID
- myCurrentPreview = VOID
- cursor(0)
- end
-